home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
COMAL
/
Z-Misc Series
/
(k)zl.d64
/
prc.sort'anycase
< prev
next >
Wrap
Text File
|
2007-03-01
|
1KB
|
38 lines
1000 ╨╥╧├ SORT'ANY'CASE(MAX'ITEMS,MAX'CHAR,╥┼╞ STRING$()) ├╠╧╙┼─
1010 ─╔═ A$(MAX'ITEMS) ╧╞ MAX'CHAR, A'TEMP$ ╧╞ MAX'CHAR
1020 ─╔═ COMP$ ╧╞ MAX'CHAR, TEMP$ ╧╞ MAX'CHAR
1030 ╞╧╥ K:=1 ╘╧ MAX'ITEMS ─╧
1040 //COPY STRING$(K)
1050 A$(K):=STRING$(K)
1060 ╞╧╥ I:=1 ╘╧ ╠┼╬(A$(K)) ─╧
1070 // CONVERT A$(K) TO ALL L'CASE
1080 ╔╞ ╧╥─(A$(K)(I))>90 ╘╚┼╬ A$(K)(I):=├╚╥$(╧╥─(A$(K)(I))-128)
1090 ┼╬─╞╧╥ I
1100 ┼╬─╞╧╥ K
1110
1120 QUICK(1,MAX'ITEMS)
1130
1140 ╨╥╧├ QUICK(TEND,BEND)
1150 TOP:=TEND; BOT:=BEND
1160 COMP$:=A$((TOP+BOT) ─╔╓ 2)
1170 ╥┼╨┼┴╘
1180 ╫╚╔╠┼ A$(TOP)<COMP$ ─╧ TOP:=TOP+1
1190 ╫╚╔╠┼ A$(BOT)>COMP$ ─╧ BOT:=BOT-1
1200 ╔╞ TOP<=BOT ╘╚┼╬ SWAP
1210 ╒╬╘╔╠ TOP>BOT
1220 ╔╞ TEND<BOT ╘╚┼╬ QUICK(TEND,BOT)
1230 ╔╞ TOP<BEND ╘╚┼╬ QUICK(TOP,BEND)
1240 ┼╬─╨╥╧├ QUICK
1250
1260 ╨╥╧├ SWAP
1270 TEMP$:=STRING$(TOP)
1280 A'TEMP$:=A$(TOP)
1290 STRING$(TOP):=STRING$(BOT)
1300 A$(TOP):=A$(BOT)
1310 STRING$(BOT):=TEMP$
1320 A$(BOT):=A'TEMP$
1330 TOP:=TOP+1; BOT:=BOT-1
1340 ┼╬─╨╥╧├ SWAP
1350
1360 ┼╬─╨╥╧├ SORT'ANY'CASE